The software industry has developed numerous programs that allow users to generate or edit various types of content. This content may include drawings, images, video, text, and the like. The programs provide many benefits in generating and editing content. For example, image editing programs enable users to create new images or alter existing images. User-initiated changes to these images may include adding shapes, adding text, numbers, or other symbols, and shading, blurring, or filtering features of an image. Some content editing programs include tools that enable a user to generate composite images by combining one or more images or image portions into a single image (e.g., such as the selection, cropping, and retouching tools provided in Adobe® Photoshop®).
Using these tools, a user can select a portion of an image and place a copy of the portion within the same image or another image. The user can further crop or otherwise adjust the size or shape of the portion to achieve a desired effect. In some situations, the user may wish to modify the portion with the image so that transitions between the portion and the image are less noticeable. For example, a user may want to remove an object from the image by overwriting the object with a copy of a portion of the image background and blending away any visible transitions. This sort of operation may be accomplished using, for example, a “healing brush” (e.g., such as the healing brush tool provided in Adobe® Photoshop®). To use a healing brush tool, the user must first select a set of foreground pixels that will be applied by the healing brush tool during its operation. The set of foreground pixels may be selected from an image being retouched or a different image. While applying the set of foreground pixels to an image, the healing brush tool matches the texture, lighting, transparency, and shading of the foreground pixels to that of the background pixels in the image. As a result, the applied pixels blend seamlessly into the image.
However, such healing brush tools can suffer from various issues, depending on the image being modified. Such issues may be exacerbated when the healing brush tools are used in conjunction with a so-called “soft selection.” A soft-selection generally refers to a selection where one or more pixels within a selected area are only partially selected. Partially selected pixels are still subject to actions executed on the selected area (e.g., a “healing” action), but partially selected pixels are affected by these actions to a lesser extent than fully selected pixels. For example, if an action changes the color of a selected area to blue, fully selected pixels change completely to the color of blue, but partially selected pixels change to the color of blue only to the extent of their selection. Thus, in one such example case, a pixel that is 50% selected changes 50% toward the color of blue.